package org.study.oss;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * oss 配置信息
 * <pre>
 * bucket 设置公共读权限
 * 配置文件添加：
 * oss:
 *   enable: true
 *   endpoint: http://127.0.0.1:9000
 *   # pathStyleAccess 采用nginx反向代理或者AWS S3 配置成true，支持第三方云存储配置成false
 *   pathStyleAccess: false
 *   access-key: lengleng
 *   secret-key: lengleng
 *   bucket-name: lengleng
 *   region:
 *   custom-domain: https://oss.xxx.com/lengleng
 * </pre>
 *
 * @author doveylovey
 * @version v1.0.0
 * @email 1135782208@qq.com
 * @date 2025年02月07日
 */
@Data
@ConfigurationProperties(prefix = OssProperties.PREFIX)
public class OssProperties {
    /**
     * 配置前缀
     */
    public static final String PREFIX = "oss";

    /**
     * 是否启用 oss，默认为：true
     */
    private boolean enable = true;

    /**
     * 对象存储服务的URL
     */
    private String endpoint;

    /**
     * true path-style nginx 反向代理和S3默认支持 pathStyle {http://endpoint/bucketname} false
     * supports virtual-hosted-style 阿里云等需要配置为 virtual-hosted-style
     * 模式{http://bucketname.endpoint}
     */
    private Boolean pathStyleAccess = true;

    /**
     * Access key就像用户ID，可以唯一标识你的账户
     */
    private String accessKey;

    /**
     * Secret key是你账户的密码
     */
    private String secretKey;

    /**
     * 默认的存储桶名称
     */
    private String bucketName;

    /**
     * 区域
     */
    private String region;

    /**
     * 自定义域名
     */
    private String customDomain;
}
